Known control systems are largely used with the purpose of controlling industrial processes. However, there is no known system or method for debugging a complex control system across different control systems, different domains, different field buses, different field devices and different distributed control systems (DCS), programmable logic controller (PLC) or supervisory control and data acquisition (SCADA) systems, even in combination with plant simulators, device simulators or control simulators.
Known control systems are largely used for the purpose of controlling industrial processes. Using a control system, a technical process is influenced by means of actuators, whereas process parameters are measured by means of sensors. In this way, the control system retrieves knowledge about the technical process, calculates corresponding control actions, and influences the technical process actively.
FIG. 1 illustrates a scheme of basic control system architecture for a controlled technical process in accordance with a known implementation. The technical process as well as the control system should be engineered in order to fulfill the specified process behavior. Since industrial plants are rather complex and perform different industrial processes, the entire control system of FIG. 1 can be divided into sub-systems, which may include hardware and software components from different suppliers as shown in FIG. 2.
Due to this divided system structure the engineering is also divided in separate sub-system specific workflows supported by provider specific engineering tools. FIG. 2 depicts an example of the result of the subdivision process for the control system and engineering tool level, which for example may represent a robot, a conveyor and a cell PLC in the manufacturing domain, or a number of continuous sub-processes in the process domain.
The implementation and testing of control systems are usually done for each part of the system separately. The overall solution is tested and debugged earliest during the factory acceptance test (FAT hereafter) or even in the commissioning phase. Debugging is a process of stepwise execution of software with the possibility of a conditional stop depending on certain conditions. It is a common technique in the software development for PC applications as well as for robot, PLC or DCS control applications.
But since the engineering data is distributed to different engineering tools, there is no known method or system for a system wide debugging across different control sub-systems, which usually contain different types of control equipment. Once the process is started during FAT or commissioning, the sub-system specific engineering tools cannot proof conditions about parameters, signals, actuators or sensors, which are out of their scope.
Additionally, there is no known technical method or system known, which allows stopping control code execution of multiple control devices, which may be of different types of control equipment, neither in a virtual test environment nor in the real plant, at the same time in conjunction with the process including a number of devices which provide control functionalities. Resulting, it is hard to get test and debugging results at a glance.
At present there is no known method or system known which provides a single sight on all relevant process values and which allows the definition of break points or stop conditions across different control sub-systems, which may be of the same or different types of control equipment. For each engineering or application domain, a separate system is provided which has to be used. There does not exist a system having a single access point for all plant control sub-systems' signals, parameters, or other global variables.
Furthermore, in known implementations technical processes can be simulated in order to test the process and/or control behavior. Combinations with the control system and a simulated process are commonly used in order to verify the functionality of the control system. Although a simulation enables immediate halt of the process simulation, there is still no known method or system, which allows a control system wide debugging and halting across different sub-systems, neither using real hardware nor using virtual test beds or equipment emulators.
Known drawbacks of the state of the art are described in the following. As known, today's debugging of plant solutions during FAT and commissioning has a variety of drawbacks:                1. Testing and debugging of a control system composed of different sub-systems or even different types of sub-systems is not available.        
2. Testing of the composed control system is an expensive time-consuming process in the FAT and commissioning phases of the engineering. Errors found in these phases can call for additional engineering work across sub-systems.
3. It is difficult to achieve correct functionality of the plant according to all specified test cases, because the engineer just sees the debugging and test results of a single sub-system.
4. The debugging of large technical processes can call for synchronized manual debugging in several engineering tools that are used to define the behavior of different types of control sub-systems responsible for different parts of the overall technical process. This task is very complicated, time consuming, error prone, and specifies the presence of several engineers responsible for different types of control equipment. There is no known method or system available to perform this within engineering tools.
5. Test results of all parts are not automatically assembled in one tool or document.
6. Consistent changes of parameters are hard to realize and have to be documented manually.
7. Impacts of changes in a sub-system to depending sub-systems are difficult to detect.